0
INITIALIZING
RICHIE
// ASPIRING JUNIOR SOFTWARE DEVELOPER

I craft web experiences that matter.

IT student at Nanyang Polytechnic with a foundation in Flask, SQL, and Bootstrap — driven by user-centric design and building scalable solutions for Southeast Asia.

SCROLL
PYTHON FLASK JAVASCRIPT HTML5 CSS3 BOOTSTRAP SQLALCHEMY MYSQL UX DESIGN REST APIS PYTHON FLASK JAVASCRIPT HTML5 CSS3 BOOTSTRAP SQLALCHEMY MYSQL UX DESIGN REST APIS
0+
Projects Built
0+
Technologies Used
0+
CRUD Features
0+
Lines of Code
01

About

Richie Koh
📍 SINGAPORE

I'm Koh Shan Shun, Richie — a Diploma in Information Technology student at Nanyang Polytechnic, expected to graduate in 2028.

My journey in tech is driven by a deep curiosity for how software can solve real-world problems. Through hands-on projects in web development and UX design, I've built functional applications using Python Flask, SQL databases, and Bootstrap — with a focus on clean code, meaningful user experiences, and sustainable design.

I believe the best software is built with empathy — understanding the people who use it before writing a single line of code. I'm eager to bring my skills, discipline, and passion for user-centric design to a team making tangible impact.

"Build for people first, technology second."

Education
Dip. in IT — NYP
Focus Area
Web Development
Graduation
2028
Languages
English & Mandarin
Currently Exploring
AI & Machine Learning React.js Cloud Deployment API Design
02

Skills

⌨️

Languages

PythonJavaScript
Python
85%
JavaScript
70%
🌐

Web Technologies

HTML5CSS3Bootstrap 5
HTML5
90%
CSS3
85%
Bootstrap
80%
⚙️

Frameworks

FlaskJinja2SQLAlchemy
Flask
80%
SQLAlchemy
75%
🗄️

Databases

MySQLOracleSQLite
MySQL
80%
SQL
85%
🛠️

Practices

CRUD DesignREST APIsSchema DesignMVC Pattern
🤝

Soft Skills

TeamworkCommunicationDetail-OrientedProblem SolvingTime Management
03

Featured Work

01
Lead Developer
IT1x25 Web Development Project — AY2025 S2

Customer Ticketing System

Completed AY2025 Semester 2
🎫 Ticket CRUD
📊 Admin Dashboard
🔍 Status Filtering
💬 Reply System
📎 File Attachments
🔒 Session Auth
📈 Analytics Charts
❓ FAQ Section
singink.com/support
Support Center
Support Center
Create Ticket
My Tickets
Ticket Detail
Admin Dashboard
Admin Tickets
PythonFlaskJinja2SQLAlchemyMySQLBootstrap 5JavaScriptHTML5/CSS3
Situation & Task

The project addressed high website bounce rates and excessive customer support workload. Users were unable to find assistance efficiently, leading to repeated inquiries and long resolution times. I was tasked with designing and implementing a customer ticketing system to streamline issue reporting and response handling.

Actions Taken

Designed and built an OOP-based ticketing module using encapsulation for secure data handling and inheritance for reusable components — ticket submission forms with field validation and error handling, category/priority selection, file upload support, real-time status tracking, an FAQ section with search, and a full admin dashboard with analytics charts, filtering by status/priority, internal notes, and reply functionality. Implemented session-based authentication and role-based access control.

Results Achieved

Reduced reliance on manual customer support handling by ~60%, improved issue traceability and response efficiency with average resolution tracking, and contributed to a smoother customer journey — supporting higher user retention and potential conversion improvements. Admin dashboard provided real-time visibility into support metrics.

0+
CRUD Operations
0+
Flask Routes
0
Database Tables
0+
Validation Rules
Technical Architecture
🌐 Browser (HTML/CSS/JS)
⚙️ Flask + Jinja2
🛠️ SQLAlchemy ORM
🗃️ MySQL Database

MVC architecture with Flask blueprints for modular routing, Jinja2 templates for server-side rendering, and SQLAlchemy for database abstraction. Bootstrap 5 for responsive UI components.

ticket_routes.pyPython · Flask
# Example: Create ticket with validation @tickets_bp.route('/create', methods=['GET', 'POST']) def create_ticket(): if request.method == 'POST': subject = request.form.get('subject', '').strip() category = request.form.get('category') if not subject or len(subject) < 5: flash('Subject must be at least 5 characters.', 'error') return redirect(url_for('tickets.create_ticket')) new_ticket = Ticket(subject=subject, category=category, user_id=session['user_id'], status='Open') db.session.add(new_ticket) db.session.commit() return redirect(url_for('tickets.view_ticket', id=new_ticket.id))
🎥 Project Demo
💡 Key Learnings
  • Implementing CRUD operations with proper input validation and error messages to guide users
  • Building role-based access control to separate admin and user functionalities
  • Designing relational database schemas with foreign keys for data integrity
  • Creating responsive dashboards with real-time filtering and analytics
  • Working with file uploads securely using Flask and server-side validation
  • Applying Design Thinking methodology to understand and empathize with end-user needs
02
Front-End Developer
IT1x15 UX Design in Web Dev

Table Tennis CCA Website

Completed AY2025 Semester 1
🏠 Hero & Landing
🏆 Achievements Table
📅 Events Calendar
📷 Instagram Feed
👥 Member Spotlight
📱 Responsive Design
🎨 Accordion UI
🔗 Social Links
nyp-tabletennis.com
CCA Homepage
Homepage
Why Join Us
Achievements
Club Socials
Members
HTML5CSS3JavaScriptBootstrap 5FigmaInstagram APIGoogle Calendar
Situation & Task

The Table Tennis CCA lacked an official online presence, limiting outreach and engagement with students. With no centralized platform for event schedules, achievements, or recruitment, information was scattered across group chats. I was tasked with building a responsive website from scratch to establish their digital platform.

Actions Taken

Designed and built the full CCA website from scratch — hero section with image carousel, achievements table with sorting, events calendar, Instagram feed integration via embed, member spotlight with testimonials, contact information with accordion UI, and social media links. Applied responsive design principles throughout for mobile compatibility.

Results Achieved

Provided the CCA with a centralized digital platform that consolidated all club information in one place. Improved visibility of activities and achievements, enhanced student engagement through a modern, user-friendly design, and established a scalable template that other CCAs could potentially adopt.

0
Page Sections
0+
UI Components
Fully Responsive
0
API Integrations
Technical Architecture
🎨 Figma Wireframes
🌐 HTML5 / CSS3 / JS
📷 Bootstrap 5 Grid
📱 Responsive Deploy

Static front-end site built with semantic HTML5, CSS3 animations, and Bootstrap 5 for responsive grid layout. Integrated third-party embeds for Instagram and Google Calendar.

carousel.jsJavaScript
// Dynamic image carousel with auto-advance const initCarousel = (container, interval = 4000) => { const slides = container.querySelectorAll('.slide'); let current = 0; const showSlide = (index) => { slides.forEach((s, i) => { s.classList.toggle('active', i === index); s.style.opacity = i === index ? 1 : 0; }); }; setInterval(() => { current = (current + 1) % slides.length; showSlide(current); }, interval); };
🎥 Project Demo
💡 Key Learnings
  • Building a complete website from wireframe to deployment using HTML5, CSS3, and JavaScript
  • Implementing responsive design with Bootstrap grid system for mobile-first approach
  • Integrating third-party APIs and embeds (Instagram, Google Calendar)
  • Applying UX design principles — visual hierarchy, whitespace, and user flow optimization
  • Creating reusable UI components like carousels, accordions, and tabbed navigation
  • Understanding stakeholder requirements and iterating based on CCA member feedback
04

Experience

2025 — 2028
Diploma in Information Technology
Nanyang Polytechnic
Building a strong foundation in web development, UX design, database systems, AI analytics, cybersecurity, and software engineering practices.
Web Development ProjectUX Design in Web DevDatabase DesignProgrammingAI & Data AnalyticsCybersecurityNetwork TechnologyBusiness Innovation
2025 — 2026
Part-Time Tutor
Private / Ad-hoc
Taught Primary Chinese and Mathematics to 10+ students of varying abilities with adapted teaching methods. Developed strong communication, patience, and responsibility — transferable to technical collaboration and explaining complex concepts.
2025 — PRESENT
Class Vice Representative
Nanyang Polytechnic
Coordinated communications and resolved issues for 30+ classmates and lecturers. Demonstrated reliability, teamwork, and ownership in group settings.
SECONDARY
Robotics Club — Executive Committee
Riverside Secondary School
Led junior members during training and assisted planning club events. Hands-on experience with Scratch, breadboards, and LEGO Mindstorms. First LEGO League Participation Award · Hackathon 4th Place.
05

My Process

Every project follows a structured Design Thinking approach — ensuring solutions are human-centered, feasible, and aligned with real business needs.

01
🧠

Empathize

Understand real user needs through research, interviews, and observation. Walk in the user's shoes.

02
🎯

Define

Synthesize findings into clear problem statements. Identify core challenges and business requirements.

03
💡

Ideate

Brainstorm creative solutions. Sketch wireframes and map user flows for optimal experience.

04
🔧

Prototype

Build functional prototypes rapidly using Flask, Bootstrap, and iterative coding sprints.

05

Test

Validate with users, gather feedback, fix edge cases, and refine until the solution truly works.

06

Achievements

🏆

Hackathon — 4th Place

School

Competed in a school-wide hackathon, developing a working prototype under tight time constraints. Demonstrated problem-solving and rapid development skills.

🤖

First LEGO League — Participation Award

Robotics Club

Participated in First LEGO League, building and programming autonomous robots. Gained early exposure to engineering design and teamwork.

💻

Web Development Project

Nanyang Polytechnic — IT1x25

Delivered a fully functional customer ticketing system with CRUD operations, admin dashboard, and field validations as part of the CIP module.

🎓

Class Vice Representative

Nanyang Polytechnic

Elected by peers to support class coordination, demonstrating leadership, responsibility, and strong communication within the cohort.

🤖

AI Fluency: Framework & Foundation

Anthropic

Certified in AI fundamentals, understanding frameworks for responsible AI development and practical applications in modern software systems.

🌐

Web Development Basics (MDLPT-268)

International Business Machines (IBM)

Certified in web development fundamentals by IBM, covering HTML, CSS, JavaScript, and modern development workflows.

🐍

Python Hackathon — RGB Face Filter

China Tech Company

Developed an RGB face filter project using Python and computer vision libraries during an intensive hackathon, demonstrating rapid prototyping skills.

07

What Others Say

Richie consistently demonstrates strong attention to detail and a genuine willingness to help his teammates. His ticketing system was one of the most polished in our cohort.
Rihan Iqbal

Rihan Iqbal

WDP Project Teammate

Lecturers consistently commend my attention to detail and proactive attitude. Their feedback fuels my commitment to delivering high-quality work in every project I undertake.
📝

Personal Reflection

Based on Lecturer Feedback

08

Let's build
something great.

Currently open to opportunities — internships, collaborations, or just a good conversation about code.